]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspaceThumbnails: Replace loops with Array.find()
authorFlorian Müllner <fmuellner@gnome.org>
Sat, 3 Aug 2019 16:39:40 +0000 (16:39 +0000)
committerFlorian Müllner <florian.muellner@gmail.com>
Wed, 11 Sep 2019 20:59:31 +0000 (20:59 +0000)
This is much more idiomatic and concise than iterating over
thumbnails until we find the one we are looking for.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/710

js/ui/workspaceThumbnail.js

index c516934c96ebcef46a2ed43a4f00b598da4c1695..fd60c31d2c8c9a34861d928b67ea78c64a2a336d 100644 (file)
@@ -711,14 +711,12 @@ var ThumbnailsBox = GObject.registerClass({
     _activateThumbnailAtPoint(stageX, stageY, time) {
         let [r_, x_, y] = this.transform_stage_point(stageX, stageY);
 
-        for (let i = 0; i < this._thumbnails.length; i++) {
-            let thumbnail = this._thumbnails[i];
-            let [, h] = thumbnail.get_transformed_size();
-            if (y >= thumbnail.y && y <= thumbnail.y + h) {
-                thumbnail.activate(time);
-                break;
-            }
-        }
+        let thumbnail = this._thumbnails.find(t => {
+            let [, h] = t.get_transformed_size();
+            return y >= t.y && y <= t.y + h;
+        });
+        if (thumbnail)
+            thumbnail.activate(time);
     }
 
     _onButtonRelease(actor, event) {
@@ -1340,15 +1338,9 @@ var ThumbnailsBox = GObject.registerClass({
     }
 
     _activeWorkspaceChanged(_wm, _from, _to, _direction) {
-        let thumbnail;
         let workspaceManager = global.workspace_manager;
         let activeWorkspace = workspaceManager.get_active_workspace();
-        for (let i = 0; i < this._thumbnails.length; i++) {
-            if (this._thumbnails[i].metaWorkspace == activeWorkspace) {
-                thumbnail = this._thumbnails[i];
-                break;
-            }
-        }
+        let thumbnail = this._thumbnails.find(t => t.metaWorkspace == activeWorkspace);
 
         this._animatingIndicator = true;
         let indicatorThemeNode = this._indicator.get_theme_node();